<?php
require_once ("site.php");
require_once ("/includes/paypalfunctions.inc.php");
// ==================================
// PayPal Express Checkout Module
// ==================================
//'------------------------------------
//' The invoice number
//'------------------------------------
$invNum = $_SESSION["Invoice_Number"];

//'------------------------------------
//' The paymentAmount is the total value of 
//' the shopping cart, that was set 
//' earlier in a session variable 
//' by the shopping cart page
//'------------------------------------
$paymentAmount = $_SESSION["Payment_Amount"];

//'------------------------------------
//' The currencyCodeType and paymentType 
//' are set to the selections made on the Integration Assistant 
//'------------------------------------
$currencyCodeType = "EUR";
$paymentType = "Sale";

//'------------------------------------
//' The returnURL is the location where buyers return to when a
//' payment has been succesfully authorized.
//'
//' This is set to the value entered on the Integration Assistant 
//'------------------------------------
$returnURL = $loc . "orderConfirmation.php";

//'------------------------------------
//' The cancelURL is the location buyers are sent to when they hit the
//' cancel button during authorization of payment during the PayPal flow
//'
//' This is set to the value entered on the Integration Assistant 
//'------------------------------------
$cancelURL = $loc;

//'------------------------------------
//' Calls the SetExpressCheckout API call
//'
//' The CallShortcutExpressCheckout function is defined in the file PayPalFunctions.php,
//' it is included at the top of this file.
//'-------------------------------------------------
$resArray = CallShortcutExpressCheckout($paymentAmount, $currencyCodeType, $paymentType, $returnURL, $cancelURL, $invNum);
$ack = strtoupper($resArray["ACK"]);
if ($ack == "SUCCESS" || $ack == "SUCCESSWITHWARNING") {
    RedirectToPayPal($resArray["TOKEN"]);
} else {
    //Display a user friendly Error on the page using any of the following error information returned by PayPal
    $ErrorCode = urldecode($resArray["L_ERRORCODE0"]);
    $ErrorShortMsg = urldecode($resArray["L_SHORTMESSAGE0"]);
    $ErrorLongMsg = urldecode($resArray["L_LONGMESSAGE0"]);
    $ErrorSeverityCode = urldecode($resArray["L_SEVERITYCODE0"]);

    echo "<meta http-equiv='Content-type' content='text/html; charset=utf-8' />";
    echo "SetExpressCheckout API call failed. ";
    echo "<br />";
    echo "Detailed Error Message: " . $ErrorLongMsg;
    echo "<br />";
    echo "Short Error Message: " . $ErrorShortMsg;
    echo "<br />";
    echo "Error Code: " . $ErrorCode;
    echo "<br />";
    echo "Error Severity Code: " . $ErrorSeverityCode;
    echo "<br />";
    echo "<br />";
    echo "<a href='" . $loc . "'>Zurück zum Shop</a>";
}
?>